1. Field of the Invention
The present invention relates to a communication system and a method of restoring the same, and more particularly, to a communication system capable of recognizing a malfunction of a slave device having a volatile storage and automatically restoring the slave device to its normal operating state, and a method of restoring the communication system.
2. Description of the Related Art
In general, when a fault occurs in a master-slave communication system due to surroundings, for example, when a slave device having a non-volatile storage such as a flash read-only memory (ROM) or a ROM malfunctions due to external static electricity and other noise, the malfunction is recognized by comparing normal data stored in the non-volatile memory with data changed by the system fault. Then, the malfunctioning device is reset and restored to its normal state. Consequently, the data of the non-volatile storage that is not changed or lost is read to restore the slave device to its normal operating state.
However, when a slave device using a volatile storage, such as direct random access memory (DRAM) and static random access memory (SRAM), is affected by external static electricity and other noise, data is generally changed or lost regardless of a user's intentions, and the device malfunctions or stops operating.
When a power supply voltage is not applied, devices using a volatile storage lose stored data. Thus, when a power supply voltage is reduced to the ground voltage and then restored, stored data is changed or lost and the devices cannot be restored to their normal operating state by reading the normal data, unlike devices using a non-volatile storage.
Therefore, to be restored to their normal operating state, devices using a volatile storage must receive a set value from outside and be reinitiated.
Likewise, when a master device having a non-volatile storage and a slave device having a volatile storage are affected by external static electricity and other noise in a master-slave communication system, only the slave device malfunctions due to its changed data. Here, even if the slave device malfunctions and transmits the corrupted data, the master device cannot recognize that the received data is corrupted. Thus, believing that the malfunctioning slave device is normally operating, the master device receives the corrupted data of the slave device and operates, and the entire system may malfunction due to the corrupted data.
FIG. 1 is a block diagram of a conventional serial communication system including a master device 10, a first slave device 20, a second slave device 30 and an N-th slave device 40. The master device 10 includes a non-volatile storage 11, and the slave devices 20, 30 and 40 include volatile storages 21, 31 and 41, respectively.
In the serial communication system of FIG. 1, the master device 10 and the slave devices 20, 30 and 40 are connected through a data line SDA and a clock line SCL and communicate with each other.
When the second slave device 30 is affected by external static electricity and other noise and data of the volatile storage 31 is corrupted, the master device 10 receives the corrupted data of the volatile storage 31 of the second slave device 30. However, the master device 10 cannot recognize that the received data is corrupted and operates, causing the system to malfunction.
As described above, the master device 10 of the conventional communication system cannot recognize whether the received data is corrupted due to a malfunction of the second slave device 30, and the second slave device 30 cannot recognize its malfunction either. Consequently, the entire system operates as though the malfunction were a normal operation.
When the master device 10 having the non-volatile storage 11 malfunctions due to external static electricity and other noise, it recognizes its malfunction using an internal program, resets the master device 10 itself and the slave devices 20, 30 and 40, reads data of the non-volatile storage 11, and restores itself and the slave devices 20, 30 and 40 to their normal operating state. On the other hand, when only the slave devices 20, 30 and 40 and not the master device 10 are affected by external static electricity and other noise, the master device 10 operates normally but cannot recognize data errors of the slave devices 20, 30 and 40 connected through the communication lines SDA and SCL.
As described above, when the slave devices 20, 30 and 40 are affected by external static electricity and other noise, data of the volatile storages 21, 31 and 41 is changed or lost, and thus the slave devices 20, 30 and 40 cannot restore themselves from their malfunction state to their normal operating state. In addition, the slave devices 20, 30 and 40 cannot recognize their malfunctions due to changed or lost data and thus cannot report their malfunction states to the master device 10. In particular, when the slave devices 20, 30 and 40 function as touch sensors, static electricity is applied by touching and corrupts data stored in the volatile storages 21, 31 and 41. For example, when a human body contacts the touch sensors, static electricity in the human body is easily coupled to the touch sensors. Since the static electricity is large enough, power supply voltages of the touch sensors may be changed and thus data stored in any volatile memory such as registers and memories may be changed due to the changed power supply voltages of the touch sensors.
Consequently, conventional communication systems including a slave device having a volatile storage require a method of recognizing malfunction of a slave device due to corruption of data of a volatile storage by external static electricity and other noise, and restoring the slave device to its normal operating state.